var currentOperation = ''; // 用于记录当前操作是 'add' 还是 'update'

$(function() {
    // 初始化 datagrid，不需要手动调用 load 方法
    $('#dg').datagrid({
        url: '/freight/list', // 设置 URL
        onLoadSuccess: function(data) {
            if (data.total === 0) {
                $.messager.alert({
                    title: '系统提示',
                    msg: '没有找到任何记录',
                    icon: 'info',
                    top: $(window).height() / 4
                });
            }
        }
    });
});

// 打开新增运费方案对话框
function openFreightAddDialog() {
    $('#fm').form('clear'); // 清空表单
    $('#dlg').dialog('open').dialog('setTitle', '新增运费方案');
    currentOperation = 'add'; // 设置当前操作为新增
}

// 保存运费方案数据
function saveData() {
    var url = '';
    if (currentOperation === 'add') {
        url = '/freight/add'; // 新增接口
    } else if (currentOperation === 'update') {
        url = '/freight/update'; // 修改接口
    } else {
        $.messager.alert({
            title: '系统提示',
            msg: '未知操作类型',
            icon: 'error',
            top: $(window).height() / 4
        });
        return;
    }

    // 获取表单数据
    var formData = {
        freightId: $('#freightId').val(), // 如果有 freightId 字段
        area: $('#area').val(),
        expectedCost: $('#expectedCost').val(),
        description: $('#description').val(),
        customerDescription: $('#customerDescription').val()
    };

    // 发送请求到后端
    $.ajax({
        url: url,
        type: 'POST',
        contentType: 'application/json', // 设置请求内容类型为 JSON
        data: JSON.stringify(formData), // 将表单数据序列化为 JSON
        success: function(result) {
            if (result.code === 100) {
                $.messager.alert({
                    title: '系统提示',
                    msg: '操作成功',
                    icon: 'info',
                    top: $(window).height() / 4
                });
                $('#dlg').dialog('close'); // 关闭对话框
                $('#dg').datagrid('reload'); // 刷新数据表格
            } else {
                $.messager.alert({
                    title: '系统提示',
                    msg: result.msg || '操作失败，请稍后重试',
                    icon: 'error',
                    top: $(window).height() / 4
                });
            }
        },
        error: function(xhr, status, error) {
            $.messager.alert({
                title: '系统提示',
                msg: '请求失败：' + error,
                icon: 'error',
                top: $(window).height() / 4
            });
        }
    });
}

// 搜索运费方案
function searchFreight() {
    var area = $('#s_area').val();
    $('#dg').datagrid('load', {
        area: area
    });
}

// 关闭对话框
function closeDlg() {
    $('#dlg').dialog('close');
    currentOperation = ''; // 重置操作类型
}

// 格式化操作列
function formatAction(value, row, index) {
    return '<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onclick="openFreightModifyDialog(' + index + ')">修改</a>' +
           '<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="deleteFreight(' + index + ')">&nbsp删除</a>';
}

// 打开修改运费方案对话框
function openFreightModifyDialog(index) {
    $('#dg').datagrid('selectRow', index); // 选中指定行
    var selected = $('#dg').datagrid('getSelected');
    if (selected) {
        $('#fm').form('load', selected);
        $('#dlg').dialog('open').dialog('setTitle', '修改运费方案');
        currentOperation = 'update'; // 设置当前操作为修改
    } else {
        $.messager.alert({
            title: '系统提示',
            msg: '请选择要修改的记录',
            icon: 'error',
            top: $(window).height() / 4
        });
    }
}

// 删除运费方案
function deleteFreight(index) {
    $('#dg').datagrid('selectRow', index); // 选中指定行
    var selected = $('#dg').datagrid('getSelected');
    if (selected) {
        $.messager.confirm('确认', '确定要删除这条记录吗?', function(r) {
            if (r) {
                $.post('/freight/delete', { freightId: selected.freightId }, function(result) {
                    if (result.code === 100) {
                        $.messager.alert({
                            title: '系统提示',
                            msg: '删除成功',
                            icon: 'info',
                            top: $(window).height() / 4
                        });
                        $('#dg').datagrid('reload'); // 刷新数据表格
                    } else {
                        $.messager.alert({
                            title: '系统提示',
                            msg: result.error || '删除失败，请稍后重试',
                            icon: 'error',
                            top: $(window).height() / 4
                        });
                    }
                }, 'json');
            }
        });
    } else {
        $.messager.alert({
            title: '系统提示',
            msg: '请选择要删除的记录',
            icon: 'error',
            top: $(window).height() / 4
        });
    }
}